<?php

class Categorys extends Controller {
	private $do = 'content';
	private $msg;
	
	function Categorys() {
		parent::Controller ();
		$this->lang->load( 'admin', 'vietnamese' );
		$this->load->helper( 'admin_helper' );
		$this->load->helper( 'link_helper' );

		$this->load->model('admin/cat_model');
		
		check_login();
	}
	
	function index() {
		$items = array();
		$page  = $this->uri->segment( 4 );
		$type  = (int)$this->uri->segment( 5 );
		
		switch ( $page ) {	
			case 'news': // Tin tức
					$form	=  admin_link( 'categorys/index/news/0' );
					$title	= 'Tin tức :: Danh sách chủ đề';;
				break;
				
			case 'service':	
					$form	=  admin_link( 'categorys/index/service/1' );
					$title	= 'Dịch vụ :: Danh sách chủ đề';;
				break;
				
			case 'product':	
					$form	=  admin_link( 'categorys/index/product/2' );
					$title	= 'Sản phẩm :: Danh sách chủ đề';;
				break;

			case 'gallery':	
					$form	=  admin_link( 'categorys/index/gallery/3' );
					$title	= 'Ảnh tư liệu :: Danh sách chủ đề';;
				break;
			
			case 'download':	
					$form	=  admin_link( 'categorys/index/gallery/4' );
					$title	= 'Download :: Danh sách chủ đề';;
				break;
						
			default:
					show_404('page');
				break;
		}
		
		if ( isset( $_POST['submit'] ) ) {
			$length = (int)$_POST['length'];
			$this->cat_model->update_cat_status( $length, $type );
			$this->msg[] = 'Thay đổi trạng thái thành công';
		}	
		
		admin_cat( 0, $type, $items );
		
		$data = array(
			'title'		=> $title,
			'do'		=> $this->do,
			'msg'		=> $this->msg,
			'form'		=> $form,
			'items'		=> $items,
			'url_edit'	=> 'categorys/edit/'.$page.'/'.$type.'/',
			'url_del'	=> 'categorys/del/'.$type.'/',
		);
				
		$this->load->view ( ADMINPATH . 'admin_header', $data );
		$this->load->view ( ADMINPATH . 'category_list', $data );
		$this->load->view ( ADMINPATH . 'admin_footer', $data );
	}
	
	function add() {
		$menu	= array();	
		$page 	= $this->uri->segment( 4 );
		$type 	= (int)$this->uri->segment( 5 );
		
		switch ( $page ) {	
			case 'news': // Tin tức
					$form	=  admin_link( 'categorys/add/news/0' );
					$title	= 'Tin tức :: Thêm chủ đề';	
				break;
			
			case 'service':	
					$form	=  admin_link( 'categorys/add/service/1' );
					$title	= 'Dịch vụ :: Thêm chủ đề';
				break;
					
			case 'product':	
					$form	=  admin_link( 'categorys/add/product/2' );
					$title	= 'Sản phẩm :: Thêm chủ đề';
				break;

			case 'gallery':	
					$form	=  admin_link( 'categorys/add/gallery/3' );
					$title	= 'Ảnh tư liệu :: Thêm chủ đề';
				break;
			
			case 'download':	
					$form	=  admin_link( 'categorys/add/download/4' );
					$title	= 'Download :: Thêm chủ đề';
				break;
						
			default:
					show_404('page');
				break;
		}
		
		if ( isset( $_POST['submit'] ) ) {
			if ( trim( $_POST['name'] ) ) {
				
				$this->cat_model->write_cat( $type );
				$this->msg[] = 'Thêm chủ đề thành công';	
				
			}else 
				$this->msg[] = 'Tên chủ đề không được để trông';
		}
		
		admin_cat( 0, $type, $menu );
				
		$data = array(
			'title'		=> $title,
			'do'		=> $this->do,
			'msg'		=> $this->msg,			
			'form'		=> $form,
			'menu'		=> $menu
		);
				
		$this->load->view ( ADMINPATH . 'admin_header', $data );
		$this->load->view ( ADMINPATH . 'category_add', $data );
		$this->load->view ( ADMINPATH . 'admin_footer', $data );
	}
	
	function edit() {
		$menu	= array();	
		$page 	= $this->uri->segment( 4 );
		$type 	= (int)$this->uri->segment( 5 );
		$id 	= (int)$this->uri->segment( 6 );
		
		switch ( $page ) {	
			case 'news': // Tin tức
					$form	=  admin_link( 'categorys/edit/news/0/'.$id );
					$title	= 'Tin tức :: Sửa chủ đề';	
				break;
			
			case 'service':	
					$form	=  admin_link( 'categorys/edit/service/1/'.$id );
					$title	= 'Dịch vụ :: Sửa chủ đề';
				break;
					
			case 'product':	
					$form	=  admin_link( 'categorys/edit/product/2/'.$id );
					$title	= 'Sản phẩm :: Sửa chủ đề';
				break;

			case 'gallery':	
					$form	=  admin_link( 'categorys/edit/gallery/3/'.$id );
					$title	= 'Ảnh tư liệu :: Sửa chủ đề';
				break;
			
			case 'download':	
					$form	=  admin_link( 'categorys/edit/download/4/'.$id );
					$title	= 'Download :: Sửa chủ đề';
				break;
						
			default:
					show_404('page');
				break;
		}
		
		if ( isset( $_POST['submit'] ) ) {
			if ( trim( $_POST['name'] ) && (int)$_POST['cat'] != (int)$_POST['hid'] ) {				
				$this->cat_model->update_cat( $type );
				$this->msg[] = 'Sửa chủ đề thành công';				
			}
		}
		
		$row = $this->cat_model->select_cat( $id, $type );
		
		if ( $row ) {
			
			admin_cat( 0, $type, $menu );
					
			$data = array(
				'title'		=> $title,
				'do'		=> $this->do,
				'msg'		=> $this->msg,			
				'form'		=> $form,			
				'menu'		=> $menu,
				'row'		=> $row
			);
					
			$this->load->view ( ADMINPATH . 'admin_header', $data );
			$this->load->view ( ADMINPATH . 'category_edit', $data );
			$this->load->view ( ADMINPATH . 'admin_footer', $data );
		
		}else show_error('Không tồn tại chủ đề này');;
	}
	
	function del() {
		$type 	= (int)$this->uri->segment( 4 );
		$id 	= (int)$this->uri->segment( 5 );
		
		switch ( $type ) {	
			case 0: // Tin tức
					$url_back =  admin_link( 'categorys/index/news/0/' );
				break;
			
			case 1:	
					$url_back =  admin_link( 'categorys/index/service/1/' );
				break;
					
			case 2:	
					$url_back =  admin_link( 'categorys/index/product/2/' );
				break;

			case 3:	
					$url_back =  admin_link( 'categorys/index/gallery/3/' );
				break;
			
			case 4:	
					$url_back =  admin_link( 'categorys/index/download/4/' );
				break;
						
			default:
					show_404('page');
				break;
		}
		
		$row = $this->cat_model->select_cat( $id, $type );
		
		if ( $row ) {
			
			$this->cat_model->del_cat( $row['id'], $row['type'] );
			echo '<meta http-equiv="refresh" content="0;URL='.$url_back.'" />';
			
		}else show_error('Không tồn tại chủ đề này');
		
	}
	
	
}

